    precision mediump float;
    precision mediump int;


    varying vec3 vFragPosition;
    varying vec3 vNormal;

    uniform vec3 uLightPos;
    uniform vec3 uLightColor;


    void main() {

        vec3 norm = normalize(vNormal);
        vec3 lightDir = normalize(uLightPos - vFragPosition);
        float diff = max(dot(norm, lightDir), 0.0);
        vec3 diffuse = diff * uLightColor;
        vec3 objColor = vec3(1.0, 0.0, 1.0);
        float alpha = 1.0;
        vec3 resultColor = diffuse * objColor;
        gl_FragColor = vec4(resultColor, alpha);
    }